/*
 * @(#)MtmWorkflowStepUserActor.java
 *
 * Copyright (c) 2003 DCIVision Ltd
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of DCIVision
 * Ltd ("Confidential Information").  You shall not disclose such Confidential
 * Information and shall use it only in accordance with the terms of the license
 * agreement you entered into with DCIVision Ltd.
 */
package com.dcivision.workflow.bean;

import com.dcivision.framework.bean.AbstractBaseObject;

/**
 * MtmWorkflowStepUserActor.java
 * 
 * This class is the serializable bean reflecting business logic uses.
 * It represents the pre-assigned step owners, which can be user/group/role, or 
 * other special owner types.
 * 
 * @author Angus Shiu
 * @company DCIVision Limited
 * @creation date 05/08/2003
 * @version $Revision: 1.17 $
 * @see MtmWorkflowDynamicUserActor
 */
public class MtmWorkflowStepUserActor extends AbstractBaseObject {
  
  public static final String REVISION = "$Revision: 1.17 $";
  
  static final long serialVersionUID = 1659354304289175918L;
  
  /** Owner type for dynamic assign */
  public static final String ACTOR_TYPE_RUNTIME_ASSIGN = "D"; // D denotes Dynamic
  /** Owner type for recursive dynamic assign */
  public static final String ACTOR_TYPE_RECURSIVE_RUNTIME_ASSIGN = "E"; // E denotes rEcursive
  
  /** Owner type for user */
  public static final String ACTOR_TYPE_USER = "U";
  /** Owner type for group */
  public static final String ACTOR_TYPE_GROUP = "G";
  /** Owner type for role */
  public static final String ACTOR_TYPE_ROLE = "R";
  
  /** Owner type for workflow submitter */
  public static final String ACTOR_TYPE_SUBMITTER = "S";
  /** Owner type for workflow submitter's report to */
  public static final String ACTOR_TYPE_REPORT_TO = "M";
  public static final String ACTOR_TYPE_EVERYONE = "Z";
  
  /** Owner type for other user. */
  // contains (every one\submiter\submiter supervisor\previous actor\
  // previous actor supervisor\other preview task actor\other preview task actor supervisor)
  public static final String ACTOR_TYPE_OTHER = "O";
  
  /** Owner type for previous task owner */
  public static final String ACTOR_TYPE_PREVIOUS_TASK_OWNER = "P"; // P denotes Previous task Owner
  
  /** Owner type for previous task's action taker */
  public static final String ACTOR_TYPE_PREVIOUS_TASK_ACTION_TAKER = "K" ;//K denotes previous task action taKer
  /** Owner type for previous task's action taker's report to */
  public static final String ACTOR_TYPE_REPORT_TO_OF_PREVIOUS_TASK_ACTION_TAKER = "V"; // V denotes report to of preVious task action taker
  
  /** Owner type for step n's action taker */
  public static final String ACTOR_TYPE_ACTION_TAKER = "A"; // A denotes previous Action taker
  /** Owner type for step n's action taker's report to */
  public static final String ACTOR_TYPE_REPORT_TO_OF_ACTION_TAKER = "T"; //T denotes previous action taker's report To
  
  /** Indicate this owner can process the step */
  public static final String ACTION_TYPE_EXECUTION = "E";
  /** Indicate this owner can monitor the step */
  public static final String ACTION_TYPE_MONITOR = "M";
  
  private Integer workflowStepID = null;
  private String actorType = null;
  private Integer actorID = null;
  private String actionType = null;
  
  private String actorName = null;
  private String permission = null;
  
  public MtmWorkflowStepUserActor() {
    super();
  }
  /**
   * @return Returns the workflowStepID.
   */
  public Integer getWorkflowStepID() {
    return(this.workflowStepID);
  }
  /**
   * @param workflowStepID The workflowStepID to set.
   */
  public void setWorkflowStepID(Integer workflowStepID) {
    this.workflowStepID = workflowStepID;
  }
  /**
   * @return Returns the actorType.
   */
  public String getActorType() {
    return(this.actorType);
  }
  /**
   * @param actorType The actorType to set.
   */
  public void setActorType(String actorType) {
    this.actorType = actorType;
  }
  /**
   * @return Returns the actorID.
   */
  public Integer getActorID() {
    return(this.actorID);
  }
  /**
   * @param actorID The actorID to set.
   */
  public void setActorID(Integer actorID) {
    this.actorID = actorID;
  }
  /**
   * @return Returns the actionType.
   */
  public String getActionType() {
    return(this.actionType);
  }
  /**
   * @param actionType The actionType to set.
   */
  public void setActionType(String actionType) {
    this.actionType = actionType;
  }
  /**
   * @return Returns the actorName.
   */
  public String getActorName(){
    return (this.actorName);
  }
  /**
   * @param actorName The actorName to set.
   */
  public void setActorName(String actorName) {
    this.actorName = actorName;
  }
  /**
   * @return Returns the permission.
   */
  public String getPermission() {
    return permission;
  }
  /**
   * @param permission The permission to set.
   */
  public void setPermission(String permission) {
    this.permission = permission;
  }
}
